-- 使用 hashtag 确保所有 key 在同一个 slot (清理6个月未使用的标签)
local sixMonthsAgo = tonumber(redis.call('TIME')[1]) - 15552000
local unusedTags = redis.call('ZRANGEBYSCORE', '{tag}:last_used', '-inf', sixMonthsAgo)

for _, tag in ipairs(unusedTags) do
    -- 使用相同的 hashtag 模式
    redis.call('DEL', '{tag}:'..tag)
    redis.call('DEL', '{tag}:metadata:'..tag)
    redis.call('ZREM', '{tag}:hot', tag)
    redis.call('ZREM', '{tag}:last_used', tag)
    redis.call('DEL', '{tag}:autocomplete:'..tag)
end
return #unusedTags